約 3,217,193 件
https://w.atwiki.jp/hiroyuki12/pages/68.html
Name LinNeighborhood Version 0.6.5 Release 1 Summary LinNeighborhood Summary(ja) LinNeighborhood License GPL Group Applications/System URL http //www.bnro.de/~schmidjo/index.html Source0 %{name}-%{version}.tar.gz BuildRoot %{_tmppath}/%{name}-%{version}-root BuildRequires gtk+-devel #Vendor Project Vine #Distribution Vine Linux Packager hiroyuki hiroyuki12@gmail.com %description LinNeighborhood %description -l ja LinNeighborhood %prep %setup -q %build %configure --prefix=%{_prefix} make %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %{_bindir}/* %{_datadir}/locale/*/LC_MESSAGES/* %{_datadir}/icons/* %changelog * Mon Oct 01 2007 hiroyuki hiroyuki12@gmail.com 0.6.5-1 - 1st Release. # end of file
https://w.atwiki.jp/linux2ch/
2ch-Linux-Beginners このサイトには5ch Linux板の「 くだらねえ質問はここに書き込め! 」スレに 質問を書くときの心得 、Linux 板住人による Linux に関するよくある質問とその回答(FAQ) が置いてあります。 ※ Webアーカイブ http //web.archive.org/*/http //linux2ch.is.land.to/ も参考にしてください。 最近の更新 取得中です。
https://w.atwiki.jp/aerocats/pages/53.html
RESETボタンを押しHDDに開発用Linux(あるいは何らかのディストリビューション導入キット)を導入しようとした際、コンソール上では何も進まなくなりINFO LEDもオレンジの点滅が止まる気配がない、といったエラーが起こることがある。 この時mountコマンドで確認してもHDDはマウントされておらず、ただfdiskコマンド?で確認すると4つのパーティション?に切られていることがわかっている。 そして開発用Linuxのhddrootfs.tar.gzも展開されていないはずだ。 原因HDDの取り付け後 パーティションを切る 各パーティションをフォーマットし、開発用Linux導入完了 fdiskコマンドでパーティション解放 InitDisk1.shのチェックを抜ける パーティションを切る 各パーティションをフォーマットする /etc/melco/infoを用意する 対処 原因 一度、開発用Linuxを導入し何らかの事情で再度開発用Linuxを導入する際によく見受けられるエラーだ。 この時、共通して見られる行為は 標準Linuxからのブートになっている HDDはfdiskコマンド?でパーティション?を解放している dd if=/dev/zero /dev/sda bs=1M count=1と実行している場合もある などだろう。 ここで玄箱PROのHDDがどのように処理されているのか追ってみる。 HDDの取り付け後 まずは未フォーマットのHDDがある。 もちろんこのままではHDDとして機能はしない。(必要に応じて)パーティション?を切り、ファイルシステムを導入(フォーマット)しないと役に立たない。 パーティションを切る /usr/local/bin/InitDisk1.sh内の処理で、 fdisk ${DISK1_DEV} /usr/local/bin/PartitionDefinition を実行しパーティション?を4つに切る。 HDDの先頭512バイトにパーティションテーブルを含むMBRが確保される。 各パーティションをフォーマットし、開発用Linux導入完了 続けて/usr/local/bin/InitDisk1.shが呼び出した/usr/local/bin/kuro_lib内のFormat_EXT3関数、Format_XFS関数、そしてmkswapコマンド?でそれぞれのパーティション?を適宜フォーマットしていく。 この際に重要なのは、各パーティション?の先頭512バイトにブートセクターが置かれることだ。 ext3形式のブートセクターには何も記録されていないが、xfs形式のブートセクターの先頭3バイトには「XFS」という文字列が入る(余談だが、このためxfs形式の上からext3形式をフォーマットしても先頭の「XFS」という文字列が残る)。 この後、各種ファイルの展開などがあり開発用Linuxの導入も終わる。 fdiskコマンドでパーティション解放 HDDのマウントをはずし、fdiskコマンド?でHDD先頭のパーティションテーブルを書き換え(消去し)、各パーティション?の「壁」を取り払う。 しかしこのままであれば、基本領域であったパーティション?の中のデータそのものはフォーマットされない限り消えることはない。 ここで重要なのは「パーティション?は存在しないがsda2とsda4の先頭領域だった場所には「XFS」という文字列はそのまま残っている」という点だ。 そしてこの状態で再度の開発用Linuxの導入をするため、RESETボタンを押すとどうなるか続けてみる。 InitDisk1.shのチェックを抜ける /usr/local/bin/InitDisk1.shのXFSフォーマットチェックの方法は以下だ。 XFS_FORMATTED=`dd if=${DISK1_DEV} bs=1 count=3` ; [ "${XFS_FORMATTED}" = XFS ] ExitWithError formatted XFS_FORMATTED=`dd if=${DISK1_DEV}1 bs=1 count=3` ; [ "${XFS_FORMATTED}" = XFS ] ExitWithError formatted XFS_FORMATTED=`dd if=${DISK1_DEV}4 bs=1 count=3` ; [ "${XFS_FORMATTED}" = XFS ] ExitWithError formatted つまり、/dev/sda、/dev/sda1、/dev/sda4の先頭に「XFS」という文字列がなければ「フォーマットされていない」と見なされる。 この時のHDDの状態は下のようになっている。 /dev/sdaは存在するが先頭に「XFS」という文字列はなく、/dev/sda1、/dev/sda4に関してはそもそもそのようなデバイスが存在しない。 よってこの状態のHDDは/usr/local/bin/InitDisk1.shの初期チェックを通過してしまう。 パーティションを切る その次に待っているのはパーティション?を切る処理だ。 fdisk ${DISK1_DEV} /usr/local/bin/PartitionDefinition この処理後、HDDは以下のようになる。 /usr/local/bin/PartitionDefinitionを変更して実行しない限り、以前とまったく同じパーティション?の切り方になるはずだ。 各パーティションをフォーマットする 次に/usr/local/bin/InitDisk1.shはFormat_EXT3関数とFormat_XFS関数を呼び、それぞれext3形式とxfs形式にフォーマットを始める。 Format_EXT3関数にはチェック項目はないため、/dev/sda1は問題なくext3形式でのフォーマットが完了する。 しかしFormat_XFS関数は再度ここでxfs形式フォーマットのチェックを行う。 KEY=`dd if=$1 bs=1 count=3` if [ "${KEY}" = "XFS" ] ; then チェック対象デバイスの先頭3バイトを読み込み、それが「XFS」であれば別の処理が待っている。 この時、HDDは以下のようになっている。 /dev/sda1、/dev/sda3はフォーマットする、という意味で空白にしている。 /dev/sda2、/dev/sda4は、ちょうど先頭3バイトに「XFS」が入る形になっている。 よって次の処理を実行する。 . /etc/melco/info /etc/melco/infoというファイルを開く、という意味だが、このファイルは標準では存在しない。 製品仕様書にもあるが、 内蔵HDD(/dev/sda)が既にxfs形式でフォーマットされている場合、フォーマットは行われない。但し、/etc/melco/info内、 force_format=yesとすることで、xfsでフォーマットされている/いないにかかわらず、フォーマットを行うようにすることができる。 とのことで、任意のファイルだ。 このファイルがないため、多くは内部的にここで止まっている。 これが処理が止まり、INFO LEDが点滅しつづける原因だ。点滅を止めるmiconaplコマンドに到達していないのだ。 この図のような状態に、実際は/dev/sda1のext3形式でのフォーマットが済んでいるため、/dev/sda3以外のパーティション?はすべて手動でマウントできる。 その後で、INFO LEDを止めるため miconapl -a led_set_code_information clear とすればいい。 /dev/sda3は mkswap /dev/sda3 swapon /dev/sda3 でswapを有効にできる。 ただし、開発環境はHDDに一切展開されていないので注意が必要だ。 /etc/melco/infoを用意する これを回避するため/etc/melco/infoを用意した場合、次の処理を通る。 if [ "${force_format}" = "yes" ] ; then 確認のため10秒間のタイマーが始動 else return 0 fi (略) dd if=/dev/zero of=$1 bs=512 count=1 mkfs.xfs $1 -f /etc/melco/infoに「force_format=yes」と記述していれば、先頭の512バイト(つまりブートセクター)を消去しxfs形式でのフォーマットが始まる。 しかし、/etc/melco/infoが「force_format=no」あるいは記述がない場合、elseを通りreturn 0、つまりFormat_XFS関数を抜けさせられ、あとに続くmkfs.xfsコマンドは実行されない。 つまり、/dev/sda2、/dev/sda4にフォーマットは施されないのだ。 この時のHDDは以下。 パーティション?を切る前のファイルシステムがそのまま使えてしまうため、一見mkfs.xfsが処理されたように思えるためわかりにくいが、/dev/sda2と/dev/sda4は実は前回の開発用Linuxのままなのだ。 そこにデータが残っていれば扱うことができる。 対処 /etc/melco/infoを用意し、force_format=yesと記述しておけばいい。 ~ # mkdir /etc/melco ~ # echo force_format=yes /etc/melco/info これでFormat_XFS関数を通過できる。 現時点でINFO LEDが点滅している場合、fdiskコマンド?で全パーティション?を解放し、上の/etc/melco/infoを用意して一度再起動し、再度RESETボタンを押せば開発用Linuxを導入できるだろう。 また各種Debian化キットなどもシリアルコンソールの世話になることなく導入できるのではないだろうか。
https://w.atwiki.jp/ffxi_beta_glossary/pages/194.html
Linux (for PlayStation 2) Release 1.0 りなっくす ふぉー ぷれい すてーしょん つー 機器 PS2用のLinux用にハードディスクが試験的に先行発売されていたが,これにはユーティリティディスクが付属しないため,β版には使用出来ない。 http //www.ps2linux.com/index.html
https://w.atwiki.jp/aerocats/pages/12.html
「玄箱PRO」とは「くろばこプロ」と読み、玄人志向というメーカーから販売されている「組込LinuxBOX」というジャンルの製品。 玄箱PROは通称で、玄人志向の正式な商品名は KURO-BOX/PRO。 2007年2月から発売されている。2013年現在は流通在庫のみとなっている。 製品紹介サイトはこちら。 Linuxベースで起動するNASだが、最初からtelnet?接続が可能となっており、ユーザーが個々にハックすることが前提となっているような商品でもある。 また、CPU?にARM?を採用しており、Linuxを熟知している人たちからすれば適度な難易度がありハック意欲をそそる。 様々な用途 玄箱PROは、特別な設定も特に必要なく、購入してすぐにNASとして使用できる(ただし、HDDは別売りなので、未装着の場合の記録先は内蔵フラッシュメモリ)。 また、書籍やネット上で様々な拡張方法が紹介されており、web、ftp、メール、iTunes、DLNA(メディア)などの各種サーバーに仕立てることも可能だ。 あとは現実的にはふさわしくはないだろうが、ARMアーキテクチャー用のプログラム開発に使うこともできる。 とにかく、スペックが低めだが静音で省電力なプラスワンPCとして使用することに優れている。 扱いやすいHDD装着方法 玄箱PROに装着可能なHDDはSATA方式で、特別なケーブルやケースも当然不要。 たちまちの拡張を考えていないのならば玄箱PROとHDDを同時に買っていればあとは何もいらない。 HDDの装着もドライバー1本あれば可能であり、電子工作などに不慣れでも購入してすぐに作業できる。 拡張のためのハードル 純粋にNASとして使用するのであればLinuxの知識はほぼ不要だが、ひとたび拡張を目指すのであればLinux初心者には恐ろしく高いハードルが待っている。 しかしそれも発売当初、まだ先人たちのハック記録が充実していない頃の状況であり、今現在は初心者でも比較的安心して目的の拡張ができるようになっている。 しかし「シリアルコンソールの半田付け」という点だけは(愚直に行けば)避けては通れない。
https://w.atwiki.jp/extranote/pages/16.html
「/」 ルート、階層構造の頂点にあるディレクトリ ┃ ┣━「bin」 各種コマンド ┣━「boot」 カーネルなどの起動用に必要なファイル ┣━「etc」 システムの設定ファイル ┃ ┗★「fstab」 HD、FD、CD-ROMなどの割当が記述してある、 ┃ 各ディレクトリーを確認できる ┣━「home」 ユーザーのホームディレクトリ ┃ ┣例:「taro」 ┃ ┗例:「hanako」 ┣━「lib」 ライブラリ ┣━「root」 管理用ユーザーIDのホームディレクトリ ┣━「sbin」 システム管理用コマンド ┣━「tmp」 テンポラリファイル、この中身は再起動時に削除される ┣━「usr」 システム起動時に必要のないファイル ┃ ┣「bin」 各種コマンド ┃ ┣「lib」 ライブラリ ┃ ┣「local」 ユーザーが個別にインストールしたファイル ┃ ┃ ┗例:「apache2.x」 ┃ ┗「sbin」 システム管理用コマンド ┗━「var」 内容が変化するファイルの置き場 ┣「log」 ┣「spool」 ┗「tmp」
https://w.atwiki.jp/supersonic/pages/5.html
linuxsettei.zip
https://w.atwiki.jp/lpic1/pages/12.html
101試験 1. ハードウエアとアーキテクチャ 2. Linuxのインストールとパッケージ管理 3. GNUとLinuxのコマンド 4. デバイス、ファイルシステム、FHS(ファイルシステム階層) 5. X Window System 102試験 6. カーネル 7. ブート、初期化、シャットダウン、ランレベル 8. 印刷 9. ドキュメンテーション 10. シェル、スクリプト、プログラミング、コンパイル 11. 管理業務 12. ネットワークの基礎 13. ネットワークサービス 14. セキュリティ
https://w.atwiki.jp/thiroyoshi/pages/21.html
Linuxについてのメモ。 特にubuntuに特化していると思います。(使ってるので…) vim プラグインの参考サイト http //tech.kayac.com/archive/vim-3-plugin.html コマンド 使えそうなものをちょいとメモ sshfs サーバー上の領域を自分の端末にマウントする。 これによって、ローカルではできない大規模なデータの取り扱いなども可能となる。 sshfs (サーバー上のディレクトリ) (ローカルでのマウント先のディレクトリ) 例) sshfs hiroyoshi@cs611.ac.jp / ~/CS611 上記のようにすることで、サーバーcs611上のアカウントhiroyoshiのディレクトリを、ローカルのCS611というディレクトリにマウントする。 アンマウントは、 fusermount -u ~/CS611 とする。 (2009/11/26追記) 学外から学内の計算サーバーに接続しようとする場合、直接計算サーバーにはアクセスすることができない。 アクセスするには、WEBサーバーに一旦入った後さらに計算サーバーに入る必要がある。 具体的には、計算サーバーcs622サーバーとWEBサーバーcs611とすると ssh hiroyoshi@cs611.ac.jp で、cs611サーバーに接続後 ssh hiroyoshi@cs622.ac.jp とする。 これは、sshfsでも同様である。 つまり、cs622のディレクトリを直接マウントすることはできない。よって、上記と同様に以下のようにする。 まず、WEBサーバーに接続 ssh hiroyoshi@cs611.ac.jp WEBサーバー上で、適当なディレクトリを作る(マウント用、中身は空のままで) mkdir HOGE WEBサーバー上から計算サーバーのディレクトリをHOGEにマウント sshfs hiroyoshi@cs622.ac.jp ~/HOGE 自分のローカルPCに戻り、WEBサーバーのディレクトリをマウント sshfs hiroyoshi@cs611.ac.jp ~/HOGE アンマウントする場合には、ローカルPCとWEBサーバー上の両方をアンマウントする。 コマンドは上記のものと同じ。(sudoはいらない) fuse 今回、上記の2段階のマウントを設定したが、このfuseの設定が必要だった。 (以下は正確な記述ではありません。僕個人の感覚に乗っ取った解釈が含まれます。詳しくは他のページを参照) fuseとは、サーバー上のファイルシステムの1つのことのようで、cdromやhdaとそう変わらない印象を受けた。 これには他のファイルと同様に、実行権限が付与されていて、そのままではroot以外には実行・読み書きができない。 そこですべきことは、2つある。 1、サーバー上のアカウントのグループに「fuse」を追加する 2、fuseの実行権限を変更する これらを行うことで、root以外の一般のユーザーもsshfsをサーバー上で使用することができるようになる 実際には以下のように行う。 何もしないままsshfsを使おうとすると、「modprobe fuse」を試せ、と言われるので実行する まず、rootになって su - (パスワード入力) modprobe fuse もう一度sshfsをしようとすると、「Permission denied」などが出る(この辺は曖昧…) 具体的には、/dev/group/のfuseに自分の名前を追加する vi /dev/group で、編集する fuse 100 x hirosyohi のようにする 最後に、fuseの実行権限を変更する 他のユーザーの読み書きを許可する chmod o+rw /etc/fuse 以上でsshfsが実行可能になる ソースファイルからコメントのみ削除する 以下のコマンドには条件があります。 ・コメントの行がコメントのみで構成されていること これは、行単位で処理を行うためであり、以上にあてはまらないファイルである場合にはソースの一部が消えてしまう危険性がある grep -v "//" (元ファイル) out1.txt | grep -v "*" out1.txt (変更後ファイル名) ; rm out1.txt grepのオプション「-v」でパターンに一致しない行を表示し、それをファイルとして出力するだけの単純なもの。 もっと他にないかな・・・。 パターンを変えたりすればjava以外のソースにも使えそうだし。 javacのコンパイル前に文字コードエンコーディング cuiでjavaをコンパイル・実行する場合に役に立つオプションがあった。 javaのソース中に日本語、つまりASCII文字を使っている場合には普通に javac ????.java とすると、めちゃくちゃ怒られる。 そこで次のオプションを使う。 -encoding ??? ???には「EUC-JP」か「UTF-8」を入れる。 これでコンパイル前にエンコーディングしてくれる。 コメントで日本語があっても問題なくコンパイルできる。 ubuntuのIPアドレスを固定する方法 参考URL http //plaza.rakuten.co.jp/maskman/diary/200905020000/ #bf 名前 コメント Today s Access - Yesterday s Access -
https://w.atwiki.jp/linux2ch/pages/24.html
デュアルブート、マルチブート全般に関するFAQ。 デュアルブート、マルチブート全般に関するFAQ。 全般 Windows マシンに Linux を入れた後、そのマシンで Windows も使いたい Windows と Linux をインストールする場合、どっちを先に入れた方が良いの? 複数の Linux を同時にインストールしたい MBR って何? ブートローダには何を使うべき? (GRUB) MBR に入れた GRUB を消すには? Windows Vista Windows NT, 2000, XP Linux (GRUB) Linux (汎用) OSのインストール順・再インストールが自由なマルチブートの方法 MBMで簡単マルチブート環境 (1)MBRにマルチブート用ブートローダーMBMをインストールする。 (2)各OSのインストール Linuxのインストール Windowsのインストール FreeBSDのインストール (付録1)WindowsOS環境のコピー (1)Windows環境のコピー。 (2)コピー後に必要な作業 (付録2)FDISK /MBRがおこなえないマシンでNTシグニチャのクリアをおこなう方法 複数の Linux ディストリビューションをブートさせる方法 [Grub 活用編] 複数の Linux をマルチブートするメリット 最初のディストリビューションをインストールする 2つ目のディストリビューションをインストールする Chainloader の設定について インストール後 ハードディスクの構成を再確認する [応用編] Windows + Linux + Linux …というマルチブートを構成する 全般 既存の Windows パーティションを保持したまま Linux などをインストールできる。デュアルブートについては詳しいページがあるのでそこを参考に。 マルチブートの仕方(プロローグ) WindowsNT/2000 と Linux の共存 初心者でもできる(?)開発とテストの為の4つ以上のオペレーティングシステムの共存に関するメモ Windows マシンに Linux を入れた後、そのマシンで Windows も使いたい インストールの仕方によっては、Linux 専用マシンにすること (シングルブート) もできるし、起動時に Linux と Windows などのどれかを選べるように (デュアルブート、マルチブート) もできる。 ただし、デュアルブートを行うためにはシングルブートよりいくつか手間がかかるし、インストールを失敗すると何も起動できなくなったり、もしかしたら既存のデータが消えるかもしれない。なので実際のところはシングルブートにしといた方が何かと簡単。 デュアルブートにしたいなら、消えると困るデータをバックアップするとか事前に万全の対策をした上でやってみよう。 Windows と Linux をインストールする場合、どっちを先に入れた方が良いの? Windows 95, 98, 2000 あたりは、既存のWindows以外のOSの存在をうまく考慮してくれない。こういう OS ならまず Windows の方を先にインストールした上で Linux を入れてみる。 Windows XP でもあとで Linux をインストールした方がブートローダに GRUB を使えるので楽に設定できる。 複数の Linux を同時にインストールしたい ブートローダーに GRUB を使う場合 最初の Linux を入れるときはブートローダを MBR に入れる 2つ目以降の Linux はハードディスクの空き領域に追加で入れていく という風にして入れていく。複数の Linux ディストリビューションをブートさせる方法 以下に比較的分かりやすい方法があるよ。 MBR って何? マルチブート関連の話題によく出てくる MBR とは何か?リンク先参照。 MBR(e-Words) ブートローダには何を使うべき? (GRUB) 現在の一般的なおすすめは GRUB (GRand Unified Bootloader)。高機能で便利だし使い易い(ただし一部慣れが必要)。多くのディストリビューションを入れるときに標準で付いてくる。 LILO (LInux LOader) は時代遅れで、設定を失敗したときの復帰が悲惨なのでおすすめしない。 参考リンク ブートローダーのGRUBってなに? (ITmedia) Windows NT, 2000, XP とのデュアルブートなら、NT OS Loader で Linux をブートさせるなんて事もできるよ。 NT OS Loader + Linux mini-HOWTO MBR に入れた GRUB を消すには? 「消す」ことはできないので必ず「上書き」する。 それぞれの OS 上で以下のようにすれば上書き可能。最後にどのパーティションがアクティブかも確認しておくこと。 Windows Vista Windows 回復環境で bootrec /FixMbr http //support.microsoft.com/kb/927392/ja Windows NT, 2000, XP 回復コンソール上で fixmbr 247804 - Linux を削除し Windows 2000 または NT をインストールする方法 314058 - Windows XP 回復コンソールについて 314458 - Linux を削除して Windows XP をインストールする方法 Linux (GRUB) GRUBを再インストールするには http //www.atmarkit.co.jp/flinux/rensai/linuxtips/927reinstgrub.html Linux (汎用) ms-sys -m /dev/hda OSのインストール順・再インストールが自由なマルチブートの方法 MBMで簡単マルチブート環境 マルチブート総合スレ 2つ目 で紹介された MBM(Multiple Boot Manager) を使ったマルチブートの方法を紹介します。 MBMは、ハードディスクのパーティションとして使用されない場所(MBRとそのすぐ後ろ)にインストールされる形式のフリーのマルチブートローダです。 OSが使用するパーティション領域を使用しない為、マルチブート環境を構成するOS(LinuxとかWindowsなど)を再インストールする可能性がある人には最適なブートローダです。 MBMをマルチブートローダとして用いた場合のメリットは主に以下の三点です。 各 OS のブート環境が独立するため、他のマルチブートの方法ではよくある、OS をインストールする順番の制限がありません。 (但し、マルチブート用のパーティション分割は Windows のインストーラではおこなえないので、必然的に Linux 等のパーティション分割が比較的自由におこなえる OS を先にインストールするべきでしょう)また、同じ理由でマルチブート環境を構成するどのOSも自由に再インストールをおこなうことができます。#br grub でマルチブートする際に必要な設定ファイルの編集が必要なく、必然的に、OS の再インストール時にも設定内容をメモする必要も再設定の必要もありません。 当然、設定メモをなくしてしまう心配もなく、間違った設定をして悩む可能性もありません。(MBM画面で起動したいパーティションを選んでEnterを押すだけで設定ファイルなしにちゃんとマルチブートができます。#br おまけの特典として、ここで紹介する方法を用いると、Windows を複数インストールした場合でも、インストールした Windows のシステムドライブが全て C ドライブとなるので、インストールした後の Windows のコピーや移動が可能となります。 複数の環境を一台のマシンで頻繁に使い分けなくてはならないWindowsの開発者等にとっては非常に便利でしょう。(例えば第一基本パーティションにインストールされているWindowsOSを第三基本パーティションにコピーして、且つ、OS内部の環境を殆ど変えずに起動させることができます。 ※MBMのインストールには通常、ブート可能なフロッピーディスクドライブ(USB接続も可)を用います。ブート可能なCDドライブからインストールすることも可能ですが、自身でインストールCDを作成する必要があります(CD-R、RWドライブが必要)。ここではブート可能なフロッピードライブを持っていることを前提として説明を進めます。 以下に具体的な方法を記述します。 (1)MBRにマルチブート用ブートローダーMBMをインストールする。 MBMサイトからダウンロードしたzipファイルを解凍するとmbm.comが含まれています。このファイルをMS-DOS起動ディスク(Windowsで作成したもので可)やDR-DOS起動ディスクの中に入れておきます。 DOS起動ディスクで起動し、 A ? MBM INSTALL と打った後Enterを押します。確認のyを打つとインストール完了です。 ※DOSの起動ディスクを必要としないインストール方法もあります。zipファイルの中にMBM038.144というファイルがあります。これをWindows上ではrawrite.exe、UNIX系OS上ではddを用いてフロッピーに書き入ればインストールフロッピーが出来上がります。 この作業以前にハードディスクにWindowsがいくつインストールされていようと気にする必要はありません。MBMインストール後もそれらは問題なく起動できます。ただし、Linuxのブートローダとして用いられているgrubやliloがMBRにインストールされていた場合は問題です。MBMをインストールするということはそれらを上書きして消してしまうということだからです。その場合はMBMインストール前に”ブートローダ”をLinuxがインストールされている領域の先頭(PBRという)にインストールし直しておく必要があります。 (2)各OSのインストール 基本的には順番は何でもかまいません。 好きな順番でインストールして下さい。 (今ここで説明している方法は、OSを好きな順番でインストールしたりOSの入れ直しが自由に出来る方法です。) ただし前述のように、Windowsのインストール時にマルチブートに対応するようなハードディスクのパーティション分割は出来ませんから、普通は先ずLinuxをインストールすることになるでしょう。 既にWindowsがハードディスク全てを使っている場合は、Partition Magicとかpartedとかを用いてハードディスクに空きを作って下さい。 また例えばWindowsのC が10GバイトでD が50Gバイトとかの場合は50Gの領域を開放すれば、マルチブートに利用できる領域が充分確保できます。この場合は上記のparted等での作業は不要です。 Linuxのインストール マルチブートが可能なパーティション分割をおこなわなくてはなりません。インストーラの自動にまかせずにfdiskを使わなくてはならない筈です。 Windowsのシステムドライブは基本パーティションである必要があります。 Linuxは/bootとか/とかswapも含めて全ての使用パーティションが拡張パーティションの中の論理パーティションで大丈夫です。したがって、基本パーティションを3つ確保し、拡張パーティションを一つ確保、そして拡張パーティションの中にLinux用の領域やWindowsのデータ領域を確保する形が、WindowsOS複数+Linuxでマルチブートする際の典型です。 インストールの際の注意点はブートローダの設定です。 ブートローダはどのディストリでもデフォルトではMBRにインストールされますが、ここではそれを選んではいけません。 ディストリビューションによって詳細は異なりますが、大概、”高度なオプション”なるものを選べば、ブートローダをMBR以外に設定できます。 ブートローダのインストール先としてLinuxの領域の先頭(PBRという)を選んで下さい。ブートローダがgrubでもliloでも同じです。 この注意を守ってのLinuxのインストール後に再起動すれば、Linuxが正常に起動できることが確認できる筈です。 Windowsのインストール 既にWindowsOSが一つはインストールされているかもしれませんが、ここでは最初のWindows、後から追加するWindowsもインストールのやり方は全く同じで注意点も全く同じです。 Windowsインストール前 に下記の作業をおこなって下さい。 (既にWindowsインストール用基本領域は確保されているとして) WindowsのインストールCDでブートする前にHDDからパソコンを起動します。 MBM画面で今からインストールしたい領域を選んでEnterを押します。 (Invalid system diskとエラーが出力されますが、それでいいんです。) ※上記作業で今からインストールしたい領域がアクティブになります。 アクティブな基本領域はWindowsやWindowsのインストーラにC ドライブと認識されます。(たとえ3番目とか4番目の基本領域であっても) 上記作業後、マシンをリセットしてWindowsのインストールを開始して下さい。 Windows95系OS、WindowsXP、2003のインストーラはMBRのMBMを上書きして独自の非常に機能が貧弱な(マルチブートができない)ブートローダをインストールします。既に説明したDOS起動ディスクを用いて 再びMBMをインストールして下さい。 MBMは WindowsがMBRにインストールするブートローダの上位互換 だと見なして頂いて結構です。 Windowsのブートローダを上書きしてのMBMインストールはいかなる場合でもおこなってOK だと思ってください。 FreeBSDのインストール インストール時にブートローダをどこに入れるのか問われた際にNoneを選んで下さい。 Noneというのは実は”MBRを上書きしない”という意味でブートローダをインストールしないという意味ではありません。 Noneを選んでもFreeBSDスライスのPBRにちゃんとブートローダがインストールされるので心配ありません。 またNoneを選ばすにMBRにFreeBSDのブートローダをインストールしてしまっても慌てることはありません。もちろん今まで触れてきたようにMBMを再インストールすれば良いのです。 以上がOSのインストール順が自由で各OSの再インストールも自由なマルチブートの方法の説明です。MBM以外にも同様な仕様のマルチブートローダはありますが、国産で実績のあるMBMを用いた方法を紹介しました。 (付録1)WindowsOS環境のコピー (この記事はマルチブートの方法の付属品という扱いなので、一応ここに記述しておきます。誰か適切な場所を知っている人が、そこに移動して下さい。そしてここには移動先へのリンクを書いて下さい。) この記事では通常は難しいWindowsNT系OSのコピーを説明します。 (コピー先パーティションは既に確保していることを前提とします。) (1)Windows環境のコピー。 WindowsNT系OS(WindowsNT、Windows2000、WindowsXP、Windows2003)は稼働中のコピーがおこなえませんが、別のパーティションにWindows2000、WindowsXP、Windows2003がインストールされていれば、そのOSを起動して当該OSのコピーをおこなうことができます。 その際、必要であれば適宜コピー先のフォーマットもおこなって下さい。 まだ一つしかWindowsNT系OSが入っていない場合は、コピー作業をおこなうためのOSとして、Windows2000、WindowsXP、Windows2003の何れかを新たにインストールするか、DriveImage、DriveCopy、Norton Ghost等のツールを使ってWindowsのコピーをおこなって下さい。 ※Windows系OSの場合、ブートするパーティションの先頭(PBR)にそのパーティションの位置情報等が書き込まれていないとブート出来ません。それらの情報はFAT,FAT32の場合にはsysコマンドで正しく書き込むことが出来ますが、NTFSパーティションの場合には、OS上でフォーマットするか、回復コンソールやセットアップディスクのFIXBOOTコマンドを使うか、DriveImageやPartitionMagicの商用ツールを使わないと、正しく書き込むことは出来ません。基本的にはコピーするOSと同種のOS上でフォーマットすることが望ましいと考えてください。 (2)コピー後に必要な作業 boot.iniを編集します。例えばpartition(1)となっている箇所をpartition(3)と変更します。コピー先のパーティションがそのハードディスクの何番目の基本パーティションかを記入します。 MBRのNTシグニチャをクリアします。※NTシグニチャとはNT系OSがMBRの一部に独自に書き込む数字(署名)です。NTシグニチャのクリアをおこなわないとコピーしたWindowsNT系OSでログインすることができません。#br これはマシンによって方法が違います。 大概のマシンではDOS起動ディスクで起動し、FDISK /MBRを実行し、続いてMBMの再インストールをおこなえばOKです。 ただし、最近のマシンのBIOSはFDISK /MBRを受け付けないものが多くあります。 なお、fixmbrでは駄目です その場合でも、 Linux上でNTシグニチャのクリア (後述)をおこなうことができます。 上記で紹介しているMBMのR0.384にもNTシグニチャをクリアする機能が付きました 以上の作業後、コピーしたWindowsが起動し、ちゃんとログインもおこなうことができます。 (付録2)FDISK /MBRがおこなえないマシンでNTシグニチャのクリアをおこなう方法 いろいろ方法はありますが、ここでは Linuxらしい方法を説明します。 HDDはプライマリマスターに接続されているとします。 まずMBRのバックアップ # dd if=/dev/hda of=mbr.img bs=512 count=1 いよいよ作業 # dd if=/dev/zero of=/dev/hda bs=1 seek=437 count=9 これでNTシグニチャのクリアが出来ました。 次にWindowsNT系のOSを起動した際に新たなNTシグニチャが設定されます。 ただし、上記の作業方法ではミスタイプすると大変なので、安全を期するのであれば、 # dd if=/dev/hda of=mbr.img bs=512 count=1 # dd if=/dev/hda of=mbr437.img bs=1 count=437 # dd if=/dev/zero of=zero9.img bs=1 count=9 # cat mbr437.img zero9.img mbr446.img ここでバイナリエディタやhexdumpを使って、mbr.imgとmbr446.imgの内容の違いを確認します。先頭から437バイトまでは共通でmbr446.imgは最後の9バイトが0で埋められていることを確認します。 確認後に # dd if=mbr446.img of=/dev/hda を実行 この方法でもNTシグニチャのクリアがおこなえます。 手っ取り早い方法 # ms-sys -z /dev/hda パーティションテーブルとマジックナンバー以外の部分に0x00を書き込みます 残念ながらKnoppixには収録されていないようです 複数の Linux ディストリビューションをブートさせる方法 [Grub 活用編] 複数の Linux をマルチブートするメリット 実際には次のような活用目的(一例)があるかと思われます。 一方の Linux ディストリビューションでは利用できるパッケージに制限があるが、もう一方の Linux ディストリビューションでは専用のパッケージが配布されているとき。 複数のディストリビューションの使い勝手を同時に試したいとき。 あるディストリビューションから別のディストリビューションへと移行したいとき。 複数のファイルシステムを切替えて運用したいとき。 複数のディストリビューションを導入したいが、予算上の理由などにより何台もコンピュータを用意する余裕がないとき。 等々、使っている環境によってはメリットがあります。 最近は大容量のハードディスクが安価で入手できるようになったという事情も手伝っています。 ただし、物理的には1つのハードディスクを共用しているだけですから、日頃から定期的にデータのバックアップを取って、ハードディスクの破損等予期せぬ事態に備えることが大切です。 ここでは、CentOS と Debian の2つをインストールする場合です。 最初のディストリビューションをインストールする ハードディスク デバイス マウントポイント タイプ サイズ hda1 / ext3 10 GB hda2 スワップ (swap) swap 1 GB (空き) (自由領域) 19 GB 後から追加するディストリビューション用に「空き領域」を残しておくことがポイントです。 (上の例では、全ハードディスクの容量が 30 GB としています。) CentOS と Debian の2つは、どちらから先にインストールしても一向に差し支えありません。この説明では、まず CentOS のインストールから始めます。 CentOS では、インストーラー付属のパーティション作成ツール Disc Druid(*1) (*2) を使って手動で設定します。 サイズを任意に指定し、hda1 hda2 を新規作成のうえインストールを開始します。 ブートローダー grub のインストール先は、マスターブートレコード (MBR) を選びます。 その後、2つ目のディストリビューション Debian は、空いている自由領域を編集してそこへインストールします。 2つ目のディストリビューションをインストールする 最初のディストリビューションがインストールできたら、2つ目のディストリビューションをハードディスクに追加します。 ハードディスク デバイス マウントポイント タイプ サイズ hda1 ext3 10 GB hda3 / ext3 10 GB hda5 スワップ (swap) swap 1 GB (空き) (自由領域) 9 GB パーティションを編集することで、設定ツール Disk Druid がデバイス名を自動的に変更することがあるので、十分注意が要ります。例では、スワップ領域が hda2 から hda5 へと変更されています。 例は、空いている自由領域を編集して hda3 を作成しています。 自由領域をあえて 9 GB 残しています。このため、3つ目のディストリビューションがインストールできるだけの空き容量は確保されています。 2つ目のディストリビューションのブートローダー先は、パーティション (hda3) の先頭または マスターブートレコード (MBR) のうちのどちらかを選びます( ※ パーティション (hda3) の先頭を選択したときは、インストール後に必ず次の Chainloader の設定を行ってください)。 MBR へのインストールを選択した時は、ブート時の情報が上書きされ、OS のメニュー画面には Debian が自動的に追加されます。よって、Chainloader の設定作業は不要です。 Chainloader の設定について コンピューターが正常に起動すれば、1つ目のディストリビューションが起動するので、/boot/grub/grub.conf をエディタで開いて設定します。 実際には、次の記述(CentOS の例)になっていることでしょう。 # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE You do not have a /boot partition. This means that # all kernel and initrd paths are relative to /, eg. # root (hd0,4) # kernel /boot/vmlinuz-version ro root=/dev/hda5 # initrd /boot/initrd-version.img #boot=/dev/hda default=0 timeout=10 splashimage=(hd0,4)/boot/grub/splash.xpm.gz title CentOS-3 (2.4.21-27.0.1.EL) root (hd0,0) kernel /boot/vmlinuz-2.4.21-27.0.1.EL ro root=LABEL=/1 initrd /boot/initrd-2.4.21-27.0.1.EL.img この /boot/grub/grub.conf の最後に、エディタで次のような記述を追加します。 title Debian rootnoverify (hd0,2) chainloader +1 (※ (hd0,*) の * 部分には、パーティションの番号を入れます。 ただし、このパーティションの番号は 0 から数えた数字です。) インストール後 ハードディスクの構成を再確認する 全てのインストールが完了したら、Linux を立ち上げてハードディスクの構成を確認してみましょう。 ターミナル(端末)より # fdisk -l を実行してください。次のように表示されることでしょう。 # fdisk -l Disk /dev/hda 30.7 GB, 30750031872 bytes 255 heads, 63 sectors/track, 3738 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 1216 9767488+ 83 Linux /dev/hda2 3647 3738 738990 5 Extended /dev/hda3 1217 2450 9912105 83 Linux /dev/hda5 3647 3738 738958+ 82 Linux swap / Solaris 一覧に表示されているように、数字は必ず整数倍になるわけではありません。 [応用編] Windows + Linux + Linux …というマルチブートを構成する 上記の例で説明している Chainloader を用いたマルチブートでは、 /boot パーティションを共有する必要がなくなります。そのため、ここでは詳しく触れませんが、ユーザーはインストール後予想される運用上の様々な問題から開放されます。 この手法を応用すれば、複数の Linux へさらに Windows も追加したマルチブートを比較的容易に構成することができます。この場合特に注意すべき点は、Windows をインストールする順番です。 最初に Windows をインストールします。後からインストールする Linux のため、ディスクには十分な空き容量を残しておきます。 2番目には、普段メインに利用することになる Linux ディストリビューションをインストールした方が良いでしょう。これは、起動時に表示される bootloader のメニュー画面の最初に登録されるようにするためです。 /boot/grub/grub.conf には次の記述が自動的に追加されます。 title Windows rootnoverify (hd0,0) chainloader +1 (※ (hd0,*) の * 部分には、パーティションの番号を入れます。 ただし、このパーティションの番号は 0 から数えた数字です。)